import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { QdiiRoutingModule } from './qdii-routing.module';
import { DataInTransitComponent } from './list/data-in-transit/data-in-transit.component';
import { ReviewComponent } from './list/review/review.component';
import { RecordComponent } from './list/record/record.component';
import { ViewComponent } from './list/view/view.component';
import { FundEntryComponent } from './list/fund-entry/fund-entry.component';
import { FundDetailComponent } from './modal/fund-detail/fund-detail.component';
import { FlowInfoComponent } from './modal/flow-info/flow-info.component';
import { AppPaginationModule } from '../../../widgets/pagination/pagination.module';
import { BatchModeComponent } from './content/batch-mode/batch-mode.component';
import { InputModeComponent } from './content/input-mode/input-mode.component';
import { RemindComponent } from './content/remind/remind.component';
import { RouteModeComponent } from './content/route-mode/route-mode.component';
import { ReviewBackComponent } from './modal/review-back/review-back.component';
import { ViewDetailComponent } from './modal/view-detail/view-detail.component';
import * as flatpickr from 'flatpickr';
import { FlatpickrModule, FLATPICKR } from '../../../../assets/angularx-flatpickr';
import { ReadingNotesComponent } from './modal/reading-notes/reading-notes.component';
import { SearchComponent } from './modal/search/search.component';
import { SearchRemindComponent } from './modal/search-remind/search-remind.component';
import { ApplyQDIINameComponent } from './modal/apply-qdiiname/apply-qdiiname.component';
import { EditComponent } from './modal/edit/edit.component';
import { HistoryChangeComponent } from './modal/history-change/history-change.component';
import { CommitComponent } from './modal/commit/commit.component';
import { RevokeComponent } from './modal/revoke/revoke.component';
import { EntryChangeComponent } from './modal/entry-change/entry-change.component';
import { MultiSelectModule } from 'primeng/components/multiselect/multiselect';
import { CustomFormsModule } from 'ng2-validation';
import { SubmitComponent } from './modal/submit/submit.component';
import { RouteRevokeComponent } from './modal/route-revoke/route-revoke.component';
import { ViewPageComponent } from './content/view-page/view-page.component';
import { ReviewPageComponent } from './content/review-page/review-page.component';
import { DataInTransitPageComponent } from './content/data-in-transit-page/data-in-transit-page.component';
import { FundEntryPageComponent } from './content/fund-entry-page/fund-entry-page.component';
import { TablePageComponent } from './table/table-page/table-page.component';
export function flatpickrFactory() {
  return flatpickr;
}
@NgModule({
  imports: [
    CommonModule,
    QdiiRoutingModule,
    FormsModule,
    AppPaginationModule,
    MultiSelectModule,
    CustomFormsModule,
    FlatpickrModule.forRoot({
      provide: FLATPICKR,
      useFactory: flatpickrFactory
    })
  ],
  declarations: [DataInTransitComponent, ReviewComponent, RecordComponent, ViewComponent, FundEntryComponent, FundDetailComponent, FlowInfoComponent, ReviewBackComponent, ViewDetailComponent, BatchModeComponent, InputModeComponent, RemindComponent, RouteModeComponent, ReadingNotesComponent, SearchRemindComponent, ApplyQDIINameComponent,SearchComponent, CommitComponent, RevokeComponent, EditComponent, HistoryChangeComponent, EntryChangeComponent, SubmitComponent, RouteRevokeComponent, ViewPageComponent, ReviewPageComponent, DataInTransitPageComponent, FundEntryPageComponent, TablePageComponent],
  entryComponents: [FundDetailComponent, FlowInfoComponent, ReviewBackComponent, ViewDetailComponent, BatchModeComponent, InputModeComponent, RemindComponent, RouteModeComponent,ReadingNotesComponent,SearchRemindComponent,ApplyQDIINameComponent,SearchComponent,CommitComponent,SearchRemindComponent,RevokeComponent,EditComponent,HistoryChangeComponent,EntryChangeComponent,SubmitComponent,RouteRevokeComponent, ViewPageComponent, ReviewPageComponent, DataInTransitPageComponent, FundEntryPageComponent,TablePageComponent]
})
export class QdiiModule { }
